package com.duobaoyu.dby.supply.biz.client.resource.bean.vo;

import com.baomidou.mybatisplus.annotation.Version;
import com.duobaoyu.dby.channel.adapter.enums.ChannelCodeEnum;
import com.duobaoyu.dby.channel.adapter.enums.biz.config.RuleTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author liyang
 * @version 1.0.0
 * @ClassName ChannelExceptionConfigVO
 * @createTime 14:25:00 2023/05/08
 */
@Data
public class ChannelRuleConfigVO implements Serializable {

    private static final long serialVersionUID = 196434355483697313L;
    /**
     * 主键ID
     */
    @ApiModelProperty(value = "主键ID")
    private Long id;
    /**
     * 规则类型,1:异常状态
     * @see RuleTypeEnum
     */
    @ApiModelProperty(value = "规则类型,1:异常状态")
    private Integer ruleType;
	/**
	 * 规则类型描述
	 */
	@ApiModelProperty(value = "规则类型描述")
    private String ruleTypeName;
    /**
     * 供货渠道(渠道编码)
     * @see ChannelCodeEnum
     */
    @ApiModelProperty(value = "供货渠道")
    private String channelCode;
	/**
	 * 渠道名称
	 */
	@ApiModelProperty(value = "渠道名称")
	private String channelName;
	/**
     * 规则参数
     */
    @ApiModelProperty(value = "规则参数")
    private String ruleParam;
    /**
     * 供应链Code(本地异常编码)
     */
    @ApiModelProperty(value = "供应链Code")
    private String localExceptionCode;
    /**
     * 接口类型 0->默认
     */
    @ApiModelProperty(value = "接口类型 0->默认")
    private String apiType;
    /**
     * 脚本类型 JavaScript、PHP、Python
     */
    @ApiModelProperty(value = "脚本类型 JavaScript、PHP、Python")
    private String scriptType;
    /**
     * 渠道Code(渠道异常编码)
     */
    @ApiModelProperty(value = "渠道Code")
    private String channelExceptionCode;
    /**
     * 异常描述(渠道异常名称)
     */
    @ApiModelProperty(value = "异常描述")
    private String channelExceptionName;
    /**
     * 解析脚本
     */
    @ApiModelProperty(value = "解析脚本")
    private String script;
    /**
     * 规则描述(备注)
     */
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * new OptimisticLockerInnerInterceptor()
     * 版本号-用作乐观锁
     */
    @ApiModelProperty(value = "版本号-用作乐观锁")
    @Version
    private Integer version;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private Long createBy;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;
    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    private Long updateBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private LocalDateTime updateTime;
}
